TANGRAM ver 1.1 The Ancient Chinese Jigsaw Puzzle Computer Adaptation by Judah Warshaw Copyright (c) 1994, All Rights Reserved Program Requirements: TANGRAM requires VGA graphics (capable of 640x480 in 16 color mode) and a mouse. It will run on any class PC (from XT's and up). PROGRAM DESCRIPTION & FEATURES TANGRAM brings the ancient Chinese jigsaw puzzle game to life on your PC. Unlike western jigsaw puzzles, Tangram puzzles all use the same 7 pieces. These pieces are derived from cutting a square into seven geometric shapes. By using just the 7 pieces, hundreds of forms can be created. These range from geometric shapes and designs to people engaged in all sorts of activities, from houses boats and guns to animals and birds, and just about everything in between. TANGRAM can be used for logo design, inspiration, unlocking your imagination and just plain fun. The endless possibilities of TANGRAM puzzles have intrigued people for centuries. Try solving a TANGRAM puzzle or two and see why. TANGRAM features full 360-degree rotation control over the playing pieces, user-selectable colors from the entire 1/4 million colors available on VGA systems, is fully mouse driven with a 3D push button interface, has a built-in screen saver, full on-line help that explains all aspects of the program, and many other customizing features. All options are saved and reloaded the next time you play. QUICK START Just type TANGRAM to run the program. Almost all the information you need is in the on-line help. Just click your mouse on the button that says Help, and read through the information available. To QUIT, click on the "-" button in the top left corner of the screen. CONTACTING THE AUTHOR TANGRAM is being distributed as Shareware. If you use the game for more than one month, you are expected to pay for its use. To register the game send the registration fee to the author. The registration for TANGRAM is $12.00 (US), plus $3 worldwide shipping and handling, for a total of $15. The author can accept cash and checks in both US dollars and most European, Australian and other currencies. When paying in non-US dollar currencies, use the standard exchange rate for dollars in your currency, and indicate so on your order form. Orders can also be accepted with a MasterCard, EuroCard and IsraCard. For your convenience, the file ORDER.FRM may be printed to obtain a registration form. The author may be contacted at: By Mail at: By Phone at: Judah Warshaw Tel. (+972)-2-830-001 P.O. Box 27054 From 2:00pm to 9:00pm Jerusalem 91270 Israel Standard Time. ISRAEL By CompuServe EMail at: [100274,205] Bug reports, suggestions, and comments are always welcome. BENEFITS OF REGISTRATIONS When you send in your registration fee, you will receive the following: -> The latest, most up-to-date version of the TANGRAM program. -> Removal of all registration reminders. -> A new puzzle library with over 250 puzzles. -> A new, really neat, built-in screen saver. -> Utility programs to let you share your own puzzles with other registered users. -> Information about upgrades and discounts on future puzzle libraries. (Send me your best puzzles for possible inclusion in a future puzzle library. Have your name in lights and be famous!) -> Copies of other shareware programs by the author to try. ORDERING FROM Public (Software) Library (PsL) CREDIT CARD ORDERS ONLY - You can order with MC, Visa, Amex, or Discover from Public (software) Library by calling 800-2424-PsL or 713-524-6394 or by FAX to 713-524-6398 or by CIS Email to 71355,470. You can also mail credit card orders to PsL at P.O.Box 35705, Houston, TX 77235-5705. THE ABOVE NUMBERS ARE FOR ORDERS ONLY. When ordering from PsL, please mention Tangram, product #11293. Any questions about the status of the shipment of the order, refunds, registration options, product details, technical support, volume discounts, dealer pricing, site licenses, etc, must be directed to Judah Warshaw, at any of the above contact numbers. To insure that you get the latest version, PsL will notify us the day of your order and we will ship the product directly to you." ORDERING ON-LINE FROM COMPUSERVE INFORMATION SERVICE If you have a CompuServe account, you can order Tangram online from the Shareware Registration Service. Type GO SWREG at any CompuServe prompt and follow the directions. Tangram is product number 2464 in the SWREG database. The registration fee will be charged to your CIS account, and CIS will inform the author of your registration. SHAREWARE and the ASP OMBUDSMAN This program is produced by a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon MI 49442-9427 USA, FAX 616-788-2765 or send a CompuServe Mail message to ASP Ombudsman 70007,3536. Shareware distribution gives users a chance to try software before buying it. If you try a Shareware program and continue using it, you are expected to register. Individual programs differ on details -- some request registration while others require it, some specify a maximum trial period. With registration, you get anything from the simple right to continue using the software to receiving an updated program with a printed manual. Copyright laws apply to both Shareware and commercial software, and the copyright holder retains all rights, with a few specific exceptions as stated below. Shareware authors are accomplished programmers, just like commercial authors, and the programs are of comparable quality. (In both cases, there are good programs and bad ones!) The main difference is in the method of distribution. The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group. For example, some authors require written permission before a commercial disk vendor may copy their Shareware. Shareware is a distribution method, not a type of software. You should find software that suits your needs and pocketbook, whether it's commercial or Shareware. The Shareware system makes fitting your needs easier, because you can try before you buy. And because the overhead is low, prices are low also. Shareware has the ultimate money-back guarantee -- if you don't use the product, you don't pay for it. DISCLAIMER - AGREEMENT Users of TANGRAM must accept this disclaimer of warranty: "TANGRAM is supplied as is. The author disclaims all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The author assumes no liability for damages, direct or consequential, which may result from the use of TANGRAM." TANGRAM is a "shareware program" and is provided at no charge to the user for evaluation. Feel free to share it with your friends, but please do not give it away altered or as part of another system. The essence of "user-supported" software is to provide personal computer users with quality software without high prices, and yet to provide incentive for programmers to continue to develop new products. If you find this program useful and find that you are using TANGRAM and continue to use TANGRAM after a reasonable trial period, you must make a registration payment of $12 to Judah Warshaw. The $12 registration fee will license one copy for use on any one computer at any one time. You must treat this software just like a book. An example is that this software may be used by any number of people and may be freely moved from one computer location to another, so long as there is no possibility of it being used at one location while it's being used at another. Just as a book cannot be read by two different persons at the same time. Commercial users of TANGRAM must register and pay for their copies of TANGRAM within 30 days of first use or their license is withdrawn. Site-License arrangements may be made by contacting Judah Warshaw. Anyone distributing TANGRAM for any kind of renumeration must first see the included VENDOR.DOC file for instructions. You are encouraged to pass a copy of TANGRAM along to your friends for evaluation. Please encourage them to register their copy if they find that they can use it. All registered users will receive a copy of the latest version of TANGRAM. SUPPORT Support for TANGRAM is available via phone, mail, and Compuserve email for no less than one year from purchase of the product, and will be available for as long as the program is still being sold. See the first page of this document for phone number, mail address, and Compuserve email address. Updates are available at any time to registered users for a nominal fee to cover costs of labor, materials, shipping, and handling. Contact the author to check if your version is up to date and for update costs. Bug fixes for major bugs (if any ever occur) will be shipped free to registered users for a period of three months after the date of registration. GAME OVERVIEW TANGRAM is an age old jigsaw puzzle with its roots in China. In its traditional form, all puzzles are solved using the same seven pieces. These pieces are derived from taking a square and cutting it up into the 7 basic shapes. Once the square is cut up, it is quite hard to reform it. Try solving puzzle #1 to see how TANGRAM pieces are formed. The rules of solving TANGRAM puzzles are basic. (1) All seven piece must be used. In almost all cases, the pieces are touching on another. Only very few puzzles will have pieces not touching, such puzzles are usually when forming 2 identical shapes. See puzzle #27 for an example of this. (2) No piece may overlap another. Nothing is gained by standing a piece on its side, or laying it on top of another piece. TANGRAM is a flat 2-dimensional puzzle. Aside from these 2 limitations, you have a free hand in doing what you wish with TANGRAM puzzles. You may solve the puzzles anywhere on the screen, in any order you wish. Some older TANGRAM puzzle books gave names to the puzzles. We have not done so. Since different people see different things in the puzzles, we have left the naming of them to the user. No one can say whether a puzzle is truly solved either. If you are satisfied that you have recreated the image or shape, then consider it done. MOVING & ROTATING THE PIECES To MOVE a piece: Each TANGRAM piece has a small circle in its center. This is used for moving and rotating the pieces. Point your mouse to the circle and click with the LEFT button (or button #1 if you have switched the buttons). Continue to hold down the mouse button. The mouse cursor will disappear, and the piece will only be outlined. You can now move the piece to wherever you would like on the playing field. You can not move the piece on top of the button bar, into the solution box, or onto the status bar on the bottom. The piece will move with you as you move the mouse around. Let go of the button when you have moved the piece to the desired location. The mouse cursor will reappear, and the piece will be redraw in its new location. To ROTATE a piece: Click and hold with the RIGHT mouse button. The piece will start to rotate clockwise in either 1 or 5 degree increments (see THE DEGREE BUTTON later in this document or in the on-line help). To rotate counter-clockwise, you may either hold down BOTH buttons, click and hold with the middle button if your mouse driver supports it, or hold down the SHIFT, ALT or CONTROL keys while holding with the right mouse button. NOTE: You can move and rotate the pieces at the same time. CHOOSING A PUZZLE TO SOLVE The TANGRAM puzzle comes with 50 puzzles for you to solve. (The registered version comes with over 250!). A scaled down version of the puzzle you are working on is shown in the Solution Box on the right hand side of the screen. Under this box are 2 buttons, one marked Solve and the other Puzzle. Click on the puzzle button to enter the Puzzle Selection Screen. From here you can view a full screen version of the puzzle you are working on, or choose a new puzzle to solve. If you just wish to see the puzzle you are doing, just click anywhere on the screen to return to your game. If you would like to choose a new puzzle to solve, use the controls on top of the screen to work your way through the puzzle library until you find a puzzle that interests you. You can move forward or backward through the library in units of 1, 10, or 100. This makes it easy to quickly find the puzzle you would like. When choosing a new puzzle, you must click on the OK button to return to the game. The new puzzle will be scaled into the Solution Box, ready for solving. If you are having trouble with a puzzle, and would like to see the solution, click on the Solve button. The program will automatically move and rotate the pieces into position (as they appear on the Puzzle Selection Screen). THE BUTTON BAR On top of the playing field are a series of buttons, commonly referred to as a button bar. This section will give information about each of the buttons available what they do. THE ABOUT BUTTON will give you information about the Tangram program, including version number and the author's name. If you are using an unregistered version of the program, you will also see a list of various benefits of registering the program. Click your mouse or hit any key to see a second screen of information telling you how to order your registered copy. This information is also shown when you first run the program. Click your mouse or hit a key to pass this screen and begin to play. On the bottom of the ordering info screen is a button to print out an order form. Make sure your printer is on-line and plugged into LPT1 (Printer Port number 1, the most usual setup). You can print an order form this way, or just copy it to your printer from DOS (use the command COPY ORDER.FRM PRN). PLEASE NOTE: None of this information is shown in the registered version. THE FLIP BUTTON allows you to flip the quadrangle piece over. All the other pieces are the same whether or not they are flipped over, except the quadrangle. Certain puzzles need it one way, while to solve others you will have to flip it over. If you can't seem to solve a puzzle, this is one of the things to try. THE COLORS BUTTON: TANGRAM allows you to make use of the over 1/4 million colors available on your VGA system. There are 4 items in the program that you can change th colors of: the background of the playing field, the outline of the pieces, the fill color of the pieces, and the center circle of the pieces. Use the buttons to choose the item to change, and the amount of color you wish to use. VGA colors are formed by combinations of Red, Green, and Blue intensity, ranging from 0 (no color) to 63 (highest intensity). Choose a combination of Red, Green, and Blue that suits your fancy, and a color combination to your liking. Click on the OK button to return to play. A note on color combinations: Some color combinations will not work well together, and some not at all. If the fill color of the pieces is the same as the background, then you will not see the puzzles in the puzzle selection screen, nor will you see them while rotating and moving the pieces. Experiment around to see what works best for you. THE SAVE BUTTON: You can save any screen layout you wish to the puzzle file. Just click on the SAVE button. You will be asked to confirm you choice. The puzzle file can hold up to 99,999 puzzles. Registered users can exchange their saved puzzles with each other. The registered version comes with utilities to help users exchange puzzle libraries. There is also a special utility that will load your saved puzzles from the shareware library to the registered version library, so all your work will not be lost. THE HELP BUTTON: TANGRAM includes complete on-line help for all the features of the program. When you click on HELP, the help windows will open up, and the mouse cursor will change to a question mark. You can then click on any item on the screen to get help about it. Or just click on NEXT PAGE to work your way through the help item by item. Click on OK to return to your game. THE MOUSE STATUS BAR At the end of the Button Bar is the Mouse Status Bar. This gives you the constant location of the mouse cursor on the screen, giving first the horizontal coordinate (the 'X') and then the vertical ('Y'). Use this along with the status bar on the button to help orientate the pieces exactly as you wish. SCREEN SAVER TANGRAM comes with a built-in screen saver, which will engage if no mouse movements are detected after a given number of minutes. You can engage the screen saver at any time by clicking on the 'S' in the top right hand corner of the screen. By clicking with the RIGHT mouse button, you can configure the amount of time it will take before the screen saver kicks in. This can be set for anywhere between 1 and 30 minutes. TANGRAM comes preset at 5 minutes. You can also set it to 0 minutes, which disables the screen saver from engaging. You can still manually start the saver by clicking on the 'S' as mentioned above. Note that the registered version comes with a completely different graphic screen saver as an added bonus. THE STATUS BAR Along the bottom of the screen is the Status Bar. This will tell you about the currently selected playing piece. Once you click on a piece, the status will show which piece you have chosen, its current X and Y location on the screen, and its current rotation value. Use these indicators to help you move the pieces into the precise position you wish. Note that when you first click on a piece, no matter where you click on the center circle, the mouse cursor will move to the exact location of the piece. This way you can check a piece's location by just clicking on the center circle without having it move around. THE OPTIONS BUTTONS On the bottom right of the screen are 3 buttons that let you set various options of the program. THE DEGREES BUTTON lets you set how many degrees the pieces will rotate at a time. This can be set to either 1 or 5 degrees. For most puzzles 5 degrees will be fine, but sometimes you may wish to fine tune a piece, so then set it to 1 degree. THE SPEED BUTTON lets you set the speed at which the pieces will rotate. This can be set to Slow, Med or Fast. Find the speed you like. THE CIRCLE SIZE button lets you set how big the center circle of the pieces will be. This number is the radius in pixels from the center of the piece. You can set it to between 1 and 5, however you wish. If you would like it off altogether, then set the Center Color and Fill Color to be the same. SAVING OF OPTIONS When you quit the TANGRAM program, all the current options are saved. This includes the selected puzzle, where the pieces are on the screen, the selected colors, and all other features of the program. The next time you run TANGRAM, all these options will be restored, so that the program will be left in exactly the state that it was left. You can restore the default options by deleting the TANGRAM.CFG file. It will be recreated the next time you quit TANGRAM. FREQUENTLY ASKED QUESTIONS Q: Why doesn't TANGRAM tell me when I solved a puzzle? It sure looks solved to me! A: This was the most asked question from beta-testers of TANGRAM. The reasons are like this: First, a number of the puzzles have more than one solution, so it is possible to solve it in a way completely different than the way it was entered into the puzzle library. Then there is the problem that 2 of the pieces have matches. It does not really matter which of the big or small triangles you put where, since they are identical. Then comes the fact that the quadrangle looks the same whether rotated 0 or 180 degrees, and the same at 1 or 181 and so on. The square looks the same at 0, 90, 180, and 270 degrees. You can use any of these orientations you wish. Plus, because of certain inherent limitations of computer graphics, at least in the 640 x 480 mode, a number of rotation values will look exactly the same. All these things considered make it very difficult to get an exact match. On top of it all, many of the puzzles are truly hard to duplicate exactly. It would be very frustrating if you know you have the puzzle solved, but just that I chose to rotate a piece one degree further, and move it one pixel lower on the screen (check out the Indian chief for an example of this). It is not a problem of the puzzle being in a different location on the screen, the program could take that into account and still check if it was solved. It is a problem of being one pixel off and not knowing it. You see that you have solved the puzzle, so you should consider it solved. There is a certain Zen aspect of Tangram puzzles saying that if you consider the puzzle solved, then it is. So long as you are satisfied with your solution. So taking these factors together, it was decided NOT to include a feature saying whether or not a puzzle was solved. Since it is hard to duplicate what I did so exactly, it was dispensed with. TECHNICAL NOTES For those interested, TANGRAM is written entirely in C, using Borland's Turbo C++ 3.0 complier. No outside libraries are used, and no assembly is used either. The most difficult part of the program was the real-time scaling of puzzles into the solution box. Only the center and rotation values are stored for the pieces; they are scaled upon loading of the puzzle into the game. This is done by reading screen memory directly. Even though this is not usually done in 640x480 16 color mode, since this does not return a color value, but a byte of values for one of the 4 planes. By manipulating the palette, the value of the bits was enough. Screen memory is read, and the value of each bit is compared to a known value for the background. All this allowed for very quick gray scaling of the screen into the solution box.